﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class NoudeOsa : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoudeOsa {
        
        private System.Int64? @__objektID;
        
        private System.Int64? @__jagamiseViisKL;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue @__noue;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaNoue> @__osaNouded = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaNoue>();
        
        private System.DateTime? @__sulgemiseKP;
        
        private string @__klientsysteemiID;
        
        public NoudeOsa() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public NoudeOsa(System.Int64? @objektID, System.Int64? @jagamiseViisKL, System.DateTime? @algusKP, System.DateTime? @loppKP, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue @noue, System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaNoue> @osaNouded, System.DateTime? @sulgemiseKP, string @klientsysteemiID) {
            this.@__objektID = @objektID;
            this.@__jagamiseViisKL = @jagamiseViisKL;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__noue = @noue;
            this.@__osaNouded = @osaNouded;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__klientsysteemiID = @klientsysteemiID;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected NoudeOsa(INoudeOsa @noudeOsa) {
            this.@__objektID = @noudeOsa.ObjektID;
            this.@__jagamiseViisKL = @noudeOsa.JagamiseViisKL;
            this.@__algusKP = @noudeOsa.AlgusKP;
            this.@__loppKP = @noudeOsa.LoppKP;
            this.@__noue = @noudeOsa.Noue;
            this.@__osaNouded = @noudeOsa.OsaNouded;
            this.@__sulgemiseKP = @noudeOsa.SulgemiseKP;
            this.@__klientsysteemiID = @noudeOsa.KlientsysteemiID;
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual System.Int64? JagamiseViisKL {
            get {
                return this.@__jagamiseViisKL;
            }
            set {
                this.@__jagamiseViisKL = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue Noue {
            get {
                return this.@__noue;
            }
            set {
                this.@__noue = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaNoue> OsaNouded {
            get {
                return this.@__osaNouded;
            }
            set {
                this.@__osaNouded = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
    }
}
